www.gusucode.com > VC++ 社区视频监控系统源代码-源码程序 > VC++ 社区视频监控系统源代码-源码程序/code/源程序/ControlForm.cpp
// ControlForm.cpp : implementation file // Download by http://www.NewXing.com #include "stdafx.h" #include "Capture.h" #include "ControlForm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CControlForm dialog CControlForm::CControlForm(CWnd* pParent /*=NULL*/) : CDialog(CControlForm::IDD, pParent) { //{{AFX_DATA_INIT(CControlForm) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void CControlForm::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CControlForm) DDX_Control(pDX, IDC_SETTINGS, m_Setting); DDX_Control(pDX, IDC_PORT, m_Port); DDX_Control(pDX, IDC_BYTENUM, m_ByteNum); DDX_Control(pDX, IDC_BYTE8, m_Byte8); DDX_Control(pDX, IDC_BYTE7, m_Byte7); DDX_Control(pDX, IDC_BYTE6, m_Byte6); DDX_Control(pDX, IDC_BYTE5, m_Byte5); DDX_Control(pDX, IDC_BYTE4, m_Byte4); DDX_Control(pDX, IDC_BYTE3, m_Byte3); DDX_Control(pDX, IDC_BYTE2, m_Byte2); DDX_Control(pDX, IDC_BYTE1, m_Byte1); DDX_Control(pDX, IDC_ACTIONS, m_Actions); DDX_Control(pDX, IDC_ACTIONNUM, m_ActionNum); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CControlForm, CDialog) //{{AFX_MSG_MAP(CControlForm) ON_CBN_SELCHANGE(IDC_ACTIONS, OnSelchangeActions) ON_BN_CLICKED(IDC_PORTSET, OnPortset) ON_BN_CLICKED(IDC_CMDSET, OnCmdset) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CControlForm message handlers void CControlForm::OnOK() { } BOOL CControlForm::OnInitDialog() { CDialog::OnInitDialog(); m_pEdit[0] = &m_Byte1; m_pEdit[1] = &m_Byte2; m_pEdit[2] = &m_Byte3; m_pEdit[3] = &m_Byte4; m_pEdit[4] = &m_Byte5; m_pEdit[5] = &m_Byte6; m_pEdit[6] = &m_Byte7; m_pEdit[7] = &m_Byte8; m_pMain = (CCaptureDlg*)AfxGetApp()->GetMainWnd(); m_Port.SetCurSel(m_pMain->m_Port-1); m_Setting.SetWindowText(m_pMain->m_Setting); char data[20]; itoa(m_pMain->m_ActoinCount,data,10); m_ActionNum.SetWindowText(data); char buff[20]; itoa(m_pMain->m_Len,buff,10); m_ByteNum.SetWindowText(buff); return TRUE; } void CControlForm::OnSelchangeActions() { int index = m_Actions.GetCurSel(); if (index != -1) { for (int j = 0 ; j<m_pMain->m_Len; j++) { for (int i = 0 ; i< m_pMain->m_ActoinCount; i++) { char buff[20] = {0}; char prex[20]= "0x"; itoa(m_pMain->m_pData[index][j],buff,16); strcat(prex,buff); m_pEdit[j]->SetWindowText(prex); } } } } void CControlForm::OnPortset() { //设置端口信息 CString port; m_Port.GetWindowText(port); if (!port.IsEmpty()) { m_pMain->m_Port = m_Port.GetCurSel()+1; port.Format("%i",m_pMain->m_Port); WritePrivateProfileString("端口设置","端口号",port,"./stage.ini"); m_pMain->m_Com.SetPortOpen(FALSE); m_pMain->m_Com.SetCommPort(m_pMain->m_Port); m_pMain->m_Com.SetPortOpen(TRUE); } CString setting; m_Setting.GetWindowText(setting); if(!setting.IsEmpty()) { m_pMain->m_Setting = setting; WritePrivateProfileString("端口设置","环境设置",setting,"./stage.ini"); m_pMain->m_Com.SetPortOpen(FALSE); m_pMain->m_Com.SetSettings(setting); m_pMain->m_Com.SetPortOpen(TRUE); } } void CControlForm::OnCmdset() { //设置控制码 int index = m_Actions.GetCurSel(); if(index != -1) { for(int j = 0 ; j<m_pMain->m_Len; j++) { char data[20]; m_pEdit[j]->GetWindowText(data,20); char* stop; int x = strtol(data,&stop,16); m_pMain->m_pData[index][j] = strtol(data,&stop,16); char sec[20] = {0}; char key[20] = "字节"; char num[10] = {0}; itoa(j+1,num,10); strcat(key,num); itoa(index+1,sec,10); WritePrivateProfileString(sec,key,data,"./stage.ini"); } } //设置动作数和协议使用的字节数 CString num; m_ByteNum.GetWindowText(num); if (!num.IsEmpty()) { WritePrivateProfileString("使用字节数","字节数",num,"./stage.ini"); } CString actions; m_ActionNum.GetWindowText(actions); if (! actions.IsEmpty()) { WritePrivateProfileString("控制项","控制数",actions,"./stage.ini"); } CTime m_LogTime = CTime::GetCurrentTime(); CString strText; strText.Format("%s\t%s\t设置控制码\r\n",m_UserName, m_LogTime.Format("%y-%m-%d %H:%M:%S")); CFile file; file.Open(m_LogPath,CFile::modeWrite); file.SeekToEnd(); file.Write(strText,strText.GetLength()); file.Close(); CDialog::OnCancel(); }